1. Field of the Invention
The present invention relates to an image processing system for volume rendering, and more particularly to an image processing system for performing a volume rendering image processing or a region segmentation processing, using a plurality of computers connected via a network.
2. Description of the Related Art
With the development of an image processing technique using computer, appearance of CT (Computer Tomography) scanner and MRI (Magnetic Resonance Imaging) that enables an internal structure of the human body to be directly observed has brought about innovation in the medical field. A medical diagnosis using a tomographic image of the living body has been widely performed. In recent years, as a technique for visualizing a three dimensional structure inside the complex human body which is difficult to recognize only with the tomographic image, for example, a processing technique for directly drawing an image of the corresponding three dimensional structure from the three dimensional digital data of the object obtained from CT scanner or other image acquiring system, particularly an image processing called the volume rendering, has widespread, and has been employed for medical diagnosis.
Conventionally, ray casting has been well known as a superior method for volume rendering. Ray casting is a method for forming a transparent image of three dimensional structure inside an object by radiating virtual rays from a virtual starting point to the object, and forming the image of a virtual reflected light which comes from inside the object on a virtual projection plane. A fundamental theory of ray casting is described in “Introduction To Volume Rendering”, written by Barthold Lichtenbelt, Randy Crane, and Shaz Naqvi, Hewlett-Packard Professional Books (published in 1998), Chapter 6, pg. 121-138, for example.
Herein, ray casting is briefly described.
A minute unit area forming a constituent unit of the three dimensional area of the object is called a voxel, and the intrinsic data of the voxel representing the characteristic such as a density value is called a voxel value. The entire object is represented by voxel data which is three dimensional array of voxel values. Usually, two dimensional tomographic images obtained by CT scanner or other image acquiring system are layered and interpolated, as required, whereby voxel data of three dimensional array is obtained.
A virtual reflected light from virtual rays radiated from virtual starting point to the object is produced in accordance with opacity, an opacity value, which is artificially set by voxel value. Moreover, in order to shade a virtual surface stereoscopically, a gradient of voxel data, that is a normal vector, is obtained, and a shading factor for shading is calculated from the cosine of the angle between the virtual ray and the normal vector. The virtual reflected light is calculated by multiplying the intensity of virtual rays radiated to the voxel by the opacity of voxel and the shading factor. The virtual reflected light is integrated along virtual rays, and calculated for all the coordinate points on the virtual projection plane, whereby a virtual transparent image of a three dimensional structure is formed. The above calculation is hereinafter referred to as a “volume rendering process”.
A volume rendering image obtained as described above is a three dimensional color image drawn by using a number of volume rendering parameters for the subject voxel data.
Volume rendering parameters include display control parameters such as zoom ratio, angle and position, color parameters, opacity parameters, shading parameters, image filter, image fusion method, rendering method, light source, time series and phase parameters, projection method, display area parameters, segmented area parameters and multi image registration parameters. These parameters are referred to as the “additional information” in the following.
In practical medial diagnosis, user of a medical image processing system observes volume rendering image from various points of view by successively updating the settings of the volume rendering parameters for subject voxel data. For example, since adequate opacity value varies according to a diagnosis tissue, the user sets up the opacity value for each voxel data. Also, in order to easily observe a region of interest such as a diseased part, tissues obscuring the region of interest are removed, or tissues are colored appropriately.
It may also be necessary for the user to set parameters by performing various complicate edit operations. The edit operations may be continued until appropriate parameters are set and a volume rendering image which meets a diagnosis purpose is obtained.
Conventionally, the total process of image processing of volume rendering, including storage, calculation and display, is performed by one or more computers. Especially for cases in which a plurality of computers are employed, various innovations are made on distribution of computer resources and parallel processing.
Also, various methods for distributing the total process of image processing of volume rendering over a plurality of computers have been offered (e.g., refer to JP-A-2003-233600).
Since volume rendering is an image processing that requires a large amount of calculation, resources of a single computer may not be enough to perform it accurately or in real time. Therefore, as described above, a conventional volume rendering image processing system employs methods for performing distributed or parallel processing of calculation resources.
In conventional image processing systems where a plurality of computers are used, a volume rendering process is segmented in advance into appropriate jobs, which are loads, so as to permit the plurality of computers to perform distributed processing. However, when this method is adopted, the calculation resources may not be effectively utilized and a delay in the job processing may occur.
Some of the reasons are in operating speed differing with each computer, a computer being good or poor at performing a particular type of calculation such as integer or floating-point operation, and variations in network performance. Further, performance of a computer also depends on its current state. For example, transmission of a volume data is not required if the computer has already been processing the same volume data, or processing speed of a job may be slow if another job has already been started in the computer.